import static org.junit.Assert.*;

import java.util.ArrayList;
import java.util.List;

import org.junit.Test;


public class CheckTest {

	@Test
	public void testporownywaniePoker() {
		
		Check w= new Check();

		Card a= new Card (2,7);
		Card b= new Card (2,8);
		Card c= new Card (2,9);
		Card d= new Card (2,10);
		Card e= new Card (2,11);
		
		Card f= new Card (2,8);
		Card g= new Card (2,9);
		Card h= new Card (2,10);
		Card i= new Card (2,11);
		Card j= new Card (2,12);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 2);
	
	}
	@Test
	public void testporownywanieRemisPoker() {
		
		Check w= new Check();

		Card a= new Card (2,7);
		Card b= new Card (2,8);
		Card c= new Card (2,9);
		Card d= new Card (2,10);
		Card e= new Card (2,11);
		
		Card f= new Card (3,7);
		Card g= new Card (3,8);
		Card h= new Card (3,9);
		Card i= new Card (3,10);
		Card j= new Card (3,11);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 0);
	
	}

	@Test
	public void testporownywanieCzworki() {
		
		Check w= new Check();

		Card a= new Card (1,2);
		Card b= new Card (2,2);
		Card c= new Card (3,2);
		Card d= new Card (4,2);
		Card e= new Card (2,11);
		
		Card f= new Card (1,5);
		Card g= new Card (2,5);
		Card h= new Card (3,5);
		Card i= new Card (4,5);
		Card j= new Card (2,12);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 2);
	
	}
	
	
	@Test
	public void testporownywanieFul() {
		
		Check w= new Check();

		Card a= new Card (2,7);
		Card b= new Card (3,7);
		Card c= new Card (2,11);
		Card d= new Card (3,11);
		Card e= new Card (4,11);
		
		Card f= new Card (2,8);
		Card g= new Card (2,8);
		Card h= new Card (2,10);
		Card i= new Card (3,10);
		Card j= new Card (4,10);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 1);
	
	}
	
	@Test
	public void testporownywanieKolor() {
		
		Check w= new Check();

		Card a= new Card (2,3);
		Card b= new Card (2,5);
		Card c= new Card (2,9);
		Card d= new Card (2,12);
		Card e= new Card (2,14);
		
		Card f= new Card (3,3);
		Card g= new Card (3,5);
		Card h= new Card (3,9);
		Card i= new Card (3,12);
		Card j= new Card (3,13);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 1);
	
	}
	@Test
	public void testporownywanieKolorRemis() {
		
		Check w= new Check();

		Card a= new Card (2,3);
		Card b= new Card (2,5);
		Card c= new Card (2,9);
		Card d= new Card (2,12);
		Card e= new Card (2,14);
		
		Card f= new Card (3,3);
		Card g= new Card (3,5);
		Card h= new Card (3,9);
		Card i= new Card (3,12);
		Card j= new Card (3,14);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 0);
	
	}

	@Test
	public void testporownywanieStrit() {
		
		Check w= new Check();

		Card a= new Card (2,3);
		Card b= new Card (3,4);
		Card c= new Card (4,5);
		Card d= new Card (1,6);
		Card e= new Card (2,7);
		
		Card f= new Card (3,5);
		Card g= new Card (2,6);
		Card h= new Card (1,7);
		Card i= new Card (4,8);
		Card j= new Card (3,9);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 2);
	
	}
	
	@Test
	public void testporownywanieStritRemis() {
		
		Check w= new Check();

		Card a= new Card (2,3);
		Card b= new Card (3,4);
		Card c= new Card (4,5);
		Card d= new Card (1,6);
		Card e= new Card (2,7);
		
		Card f= new Card (3,3);
		Card g= new Card (2,4);
		Card h= new Card (1,5);
		Card i= new Card (4,6);
		Card j= new Card (3,7);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 0);
	
	}
	@Test
	public void testporownywanieTrojka() {
		
		Check w= new Check();

		Card a= new Card (2,11);
		Card b= new Card (3,11);
		Card c= new Card (4,11);
		Card d= new Card (1,6);
		Card e= new Card (2,7);
		
		Card f= new Card (3,12);
		Card g= new Card (2,12);
		Card h= new Card (1,12);
		Card i= new Card (4,6);
		Card j= new Card (3,7);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 2);
	
	}
	@Test
	public void testporownywanieDwiePary() {
		
		Check w= new Check();

		Card a= new Card (2,11);
		Card b= new Card (3,11);
		Card c= new Card (2,12);
		Card d= new Card (1,12);
		Card e= new Card (2,7);
		
		Card f= new Card (3,12);
		Card g= new Card (1,12);
		Card h= new Card (2,13);
		Card i= new Card (4,13);
		Card j= new Card (3,7);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 2);
	
	}
	@Test
	public void testporownywanieDwieParyRemis() {
		
		Check w= new Check();

		Card a= new Card (2,12);
		Card b= new Card (1,12);
		Card c= new Card (2,13);
		Card d= new Card (3,13);
		Card e= new Card (1,6);
		
		Card f= new Card (3,12);
		Card g= new Card (4,12);
		Card h= new Card (1,13);
		Card i= new Card (4,13);
		Card j= new Card (3,6);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 0);
	
	}
	@Test
	public void testporownywaniePara() {
		
		Check w= new Check();

		Card a= new Card (2,11);
		Card b= new Card (3,11);
		Card c= new Card (2,8);
		Card d= new Card (1,10);
		Card e= new Card (2,12);
		
		Card f= new Card (3,12);
		Card g= new Card (1,12);
		Card h= new Card (2,10);
		Card i= new Card (4,12);
		Card j= new Card (3,14);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 2);
	
	}
	@Test
	public void testporownywanieParaRemis() {
		
		Check w= new Check();

		Card a= new Card (2,11);
		Card b= new Card (3,11);
		Card c= new Card (1,10);
		Card d= new Card (2,12);
		Card e= new Card (2,14);
		
		Card f= new Card (1,11);
		Card g= new Card (4,11);
		Card h= new Card (2,10);
		Card i= new Card (4,12);
		Card j= new Card (3,14);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 0); 
	
	}
	@Test
	public void testporownywanieNajwyzszaKarta() {
		
		Check w= new Check();

		Card a= new Card (2,6);
		Card b= new Card (3,8);
		Card c= new Card (2,10);
		Card d= new Card (1,12);
		Card e= new Card (2,14);
		
		Card f= new Card (3,3);
		Card g= new Card (1,6);
		Card h= new Card (3,9);
		Card i= new Card (2,11);
		Card j= new Card (3,14);
		
		
		List<Card> przykladowa1 = new ArrayList<Card>();
		List<Card> przykladowa2 = new ArrayList<Card>();
		
		
		przykladowa1.add(a);
		przykladowa1.add(b);
		przykladowa1.add(c);
		przykladowa1.add(d);
		przykladowa1.add(e);
		
		
		przykladowa2.add(f);
		przykladowa2.add(g);
		przykladowa2.add(h);
		przykladowa2.add(i);
		przykladowa2.add(j);
		
		assertEquals(w.porownywanie(przykladowa1, przykladowa2), 1);
	
	}
}

